package com.wsoft.form.service;

import com.wsoft.form.dto.WfFormTableDto;
import com.wsoft.form.entity.WfFormColumnEntity;
import com.wsoft.form.query.table.TableInsertQuery;
import com.wsoft.form.query.table.TableListQuery;
import com.wsoft.form.query.table.TableUpdateQuery;
import com.wsoft.form.vo.TableVO;

import java.util.List;

/**
 * <p>
 * 自定义表单-数据表 服务类
 * </p>
 *
 * @author Z001
 * @since 2024年08月29日 09:11:06
 */
public interface IWfFormTableService  {

    /**
     * 创建表
     * @param dto
     * @return
     */
    Long insertTable(TableInsertQuery dto);

    /**
     * 修改表
     * @param req
     * @return
     */
    boolean updateTable(TableUpdateQuery req);

    /**
     * 获取表信息
     * @param id
     * @return
     */
    WfFormTableDto getTableInfo(Long id);

    /**
     * 返回表 所有字段
     * @param tableId
     * @return
     */
    List<WfFormColumnEntity> getColumnList(Long tableId);


    /**
     * 删除表
     * @param tableId
     * @param formId
     * @return
     */
    boolean deleteTable(Long tableId);


    /**
     * 查询 formid 下 所有的表数据
     * @param query
     * @return
     */
    List<TableVO> listTable(TableListQuery query);


}
